package com.liqing.movecomment.entity;

import java.time.LocalDateTime;
import java.util.Date;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * (User)实体类
 *
 * @author makejava
 * @since 2023-05-07 23:00:47
 */
public class User implements Serializable {
    private static final long serialVersionUID = 263200444020060872L;
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 用户名
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 真名
     */
    private String name;
    /**
     * 1是管理员，2是会员用户
     */
    private Integer level;
    /**
     * 0正常 1删除
     */
    private Integer isDelete;
    /**
     * 头像地址
     */
    private String avatar;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 居住地
     */
    private String address;
    /**
     * 个人简介
     */
    private String description;
    /**
     * 创建时间
     */
    //<editor-fold defaultstate="collapsed" desc="delombok">
    private Date createTime;
    //</editor-fold>

    @SuppressWarnings("all")
    public Integer getId() {
        return this.id;
    }

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 用户名
     */
    @SuppressWarnings("all")
    public String getUsername() {
        return this.username;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 密码
     */
    @SuppressWarnings("all")
    public String getPassword() {
        return this.password;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 真名
     */
    @SuppressWarnings("all")
    public String getName() {
        return this.name;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 1是管理员，2是会员用户
     */
    @SuppressWarnings("all")
    public Integer getLevel() {
        return this.level;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 0正常 1删除
     */
    @SuppressWarnings("all")
    public Integer getIsDelete() {
        return this.isDelete;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 头像地址
     */
    @SuppressWarnings("all")
    public String getAvatar() {
        return this.avatar;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 邮箱
     */
    @SuppressWarnings("all")
    public String getEmail() {
        return this.email;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 居住地
     */
    @SuppressWarnings("all")
    public String getAddress() {
        return this.address;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 个人简介
     */
    @SuppressWarnings("all")
    public String getDescription() {
        return this.description;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 创建时间
     */
    @SuppressWarnings("all")
    public Date getCreateTime() {
        return this.createTime;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    @SuppressWarnings("all")
    public void setId(final Integer id) {
        this.id = id;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 用户名
     */
    @SuppressWarnings("all")
    public void setUsername(final String username) {
        this.username = username;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 密码
     */
    @SuppressWarnings("all")
    public void setPassword(final String password) {
        this.password = password;
    }
    //</editor-fold>

    /**
     * 真名
     */
    @SuppressWarnings("all")
    public void setName(final String name) {
        this.name = name;
    }

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 1是管理员，2是会员用户
     */
    @SuppressWarnings("all")
    public void setLevel(final Integer level) {
        this.level = level;
    }

    /**
     * 0正常 1删除
     */
    @SuppressWarnings("all")
    public void setIsDelete(final Integer isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 头像地址
     */
    @SuppressWarnings("all")
    public void setAvatar(final String avatar) {
        this.avatar = avatar;
    }

    /**
     * 邮箱
     */
    @SuppressWarnings("all")
    public void setEmail(final String email) {
        this.email = email;
    }

    /**
     * 居住地
     */
    @SuppressWarnings("all")
    public void setAddress(final String address) {
        this.address = address;
    }

    /**
     * 个人简介
     */
    @SuppressWarnings("all")
    public void setDescription(final String description) {
        this.description = description;
    }

    /**
     * 创建时间
     */
    @SuppressWarnings("all")
    public void setCreateTime(final Date createTime) {
        this.createTime = createTime;
    }

    @Override
    @SuppressWarnings("all")
    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof User)) return false;
        final User other = (User) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false;
        final Object this$level = this.getLevel();
        final Object other$level = other.getLevel();
        if (this$level == null ? other$level != null : !this$level.equals(other$level)) return false;
        final Object this$isDelete = this.getIsDelete();
        final Object other$isDelete = other.getIsDelete();
        if (this$isDelete == null ? other$isDelete != null : !this$isDelete.equals(other$isDelete)) return false;
        final Object this$username = this.getUsername();
        final Object other$username = other.getUsername();
        if (this$username == null ? other$username != null : !this$username.equals(other$username)) return false;
        final Object this$password = this.getPassword();
        final Object other$password = other.getPassword();
        if (this$password == null ? other$password != null : !this$password.equals(other$password)) return false;
        final Object this$name = this.getName();
        final Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
        final Object this$avatar = this.getAvatar();
        final Object other$avatar = other.getAvatar();
        if (this$avatar == null ? other$avatar != null : !this$avatar.equals(other$avatar)) return false;
        final Object this$email = this.getEmail();
        final Object other$email = other.getEmail();
        if (this$email == null ? other$email != null : !this$email.equals(other$email)) return false;
        final Object this$address = this.getAddress();
        final Object other$address = other.getAddress();
        if (this$address == null ? other$address != null : !this$address.equals(other$address)) return false;
        final Object this$description = this.getDescription();
        final Object other$description = other.getDescription();
        if (this$description == null ? other$description != null : !this$description.equals(other$description)) return false;
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        if (this$createTime == null ? other$createTime != null : !this$createTime.equals(other$createTime)) return false;
        return true;
    }

    @SuppressWarnings("all")
    protected boolean canEqual(final Object other) {
        return other instanceof User;
    }

    @Override
    @SuppressWarnings("all")
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
        final Object $level = this.getLevel();
        result = result * PRIME + ($level == null ? 43 : $level.hashCode());
        final Object $isDelete = this.getIsDelete();
        result = result * PRIME + ($isDelete == null ? 43 : $isDelete.hashCode());
        final Object $username = this.getUsername();
        result = result * PRIME + ($username == null ? 43 : $username.hashCode());
        final Object $password = this.getPassword();
        result = result * PRIME + ($password == null ? 43 : $password.hashCode());
        final Object $name = this.getName();
        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
        final Object $avatar = this.getAvatar();
        result = result * PRIME + ($avatar == null ? 43 : $avatar.hashCode());
        final Object $email = this.getEmail();
        result = result * PRIME + ($email == null ? 43 : $email.hashCode());
        final Object $address = this.getAddress();
        result = result * PRIME + ($address == null ? 43 : $address.hashCode());
        final Object $description = this.getDescription();
        result = result * PRIME + ($description == null ? 43 : $description.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * PRIME + ($createTime == null ? 43 : $createTime.hashCode());
        return result;
    }

    @Override
    @SuppressWarnings("all")
    public String toString() {
        return "User(id=" + this.getId() + ", username=" + this.getUsername() + ", password=" + this.getPassword() + ", name=" + this.getName() + ", level=" + this.getLevel() + ", isDelete=" + this.getIsDelete() + ", avatar=" + this.getAvatar() + ", email=" + this.getEmail() + ", address=" + this.getAddress() + ", description=" + this.getDescription() + ", createTime=" + this.getCreateTime() + ")";
    }

    @SuppressWarnings("all")
    public User(final Integer id, final String username, final String password, final String name, final Integer level, final Integer isDelete, final String avatar, final String email, final String address, final String description, final Date createTime) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.name = name;
        this.level = level;
        this.isDelete = isDelete;
        this.avatar = avatar;
        this.email = email;
        this.address = address;
        this.description = description;
        this.createTime = createTime;
    }

    @SuppressWarnings("all")
    public User() {
    }
}
    //</editor-fold>
